﻿using Puppy.Domain.Entities;
using System.Threading.Tasks;

namespace Puppy.Domain.Repositories.MemoryDb
{
    public interface IMemoryDbRepository<TEntity> : IRepository<TEntity>
        where TEntity : class, IEntity
    {
        Task<IMemoryDatabase> GetDatabaseAsync();

        Task<IMemoryDatabaseCollection<TEntity>> GetCollectionAsync();
    }

    public interface IMemoryDbRepository<TEntity, TKey> : IMemoryDbRepository<TEntity>, IRepository<TEntity, TKey>
        where TEntity : class, IEntity<TKey>
    {

    }
}
